Groups in parallel the elements of a sequence according to a specified
key selector function and creates a result value from each group and its key.
Namespace:
System.Linq
Assembly:
System.Threading (in System.Threading.dll)
Syntax
Visual Basic (Declaration) |
---|
Public Shared Function GroupBy(Of TSource, TKey, TResult) ( _
source As ParallelQuery(Of TSource), _
keySelector As Func(Of TSource, TKey), _
resultSelector As Func(Of TKey, IEnumerable(Of TSource), TResult) _
) As ParallelQuery(Of TResult) |
C# |
---|
public static ParallelQuery<TResult> GroupBy<TSource, TKey, TResult>(
ParallelQuery<TSource> source,
Func<TSource, TKey> keySelector,
Func<TKey, IEnumerable<TSource>, TResult> resultSelector
)
|
Parameters
- source
- Type: System.Linq..::.ParallelQuery<(Of <(TSource>)>)
A sequence whose elements to group.
- keySelector
- Type: System..::.Func<(Of <(TSource, TKey>)>)
A function to extract the key for each element.
- resultSelector
- Type: System..::.Func<(Of <(TKey, IEnumerable<(Of <(TSource>)>), TResult>)>)
A function to create a result value from each group.
Type Parameters
- TSource
- The type of the elements of source.
- TKey
- The type of the key returned by keySelector.
- TResult
- The type of the result value returned by resultSelector.
Return Value
A collection of elements of type
TResult where each element represents a
projection over a group and its key.
Exceptions
Exception | Condition |
---|
System..::.ArgumentNullException |
source or keySelector or
resultSelector is a null reference (Nothing in Visual Basic).
|
See Also